1. Field of the Invention
The present invention relates to the generation of two-dimensional or three-dimensional-appearing animation. In particular the invention relates to an animation generation apparatus and method for realizing cooperative actions with other animations. Animation created according to the apparatus and method of the present invention has broad application for creating and generating animations, games, image contents, and so forth.
2. Description of the Related Art
Conventionally, when generating interactive animation, the animations are constantly calculated using real-time inverse kinematics. Alternatively, all animation patterns conceivably occurring for the interaction animations are laid down and prepared beforehand.
In the past it has been difficult to obtain desired results with interactive animation generation using inverse kinematics, because the calculation costs are so great. Furthermore, the calculations often have multiple solutions. Attempts to reduce calculation costs by predicting all conceivable animation patterns beforehand have also proved unsuccessful, since predicting all such patterns is difficult, and in many cases impossible. Even when it is possible to predict all patterns, the amount of animations to be generated according to such predictions can be tremendous.
The present invention has been made in light of the above-described problems. Accordingly, it is an object of the invention to provide an animation generating apparatus and method for generating animation capable of cooperative actions with other animations, with low calculation costs.
According to one example of the present invention, parts of an animation requiring interactivity with other animations are first predicted. The cooperative relations between the interacting parts of animations are predicted. Next, an animation which satisfies the cooperative relations is created using inverse kinematics. This animation is used as a base animation. Finally, multiple base animations are synthesized according to the change in the object animation to generate adapted motion.
The present invention enables cooperative actions between animations to be related at the time the animations are generated. Also, the amount of calculations necessary to generate the animations can be reduced by implementing a technique using real-time inverse kinematics. Also, undesirable actions can be prevented beforehand.
With inverse kinematics calculations, the values of multiple joint angles must be obtained by providing the position of an end effector. To obtain such values it is necessary to simultaneously solve a number of polynomial equations. Also, there are cases wherein multiple joint angle sets are obtained because there are insufficient equations to solve all the equations simultaneously. If the calculations are being carried out in real-time, appropriate solutions cannot be found making it difficult to eliminate undesirable actions.
Conversely, with the present invention, joint angle sets which satisfy appropriate end effector positions can be obtained by the calculation of weighted addition degrees, from base animations calculated beforehand. Because the base animations used for the calculations are calculated beforehand, a joint angle set suitable for the particular end effector position can be selected. Also, animations obtained by inverse kinematics can be edited beforehand as appropriate. Further, the relationship between the end effector position and the generated animation is clear, so that undesirable actions can be prevented ahead of time.
In order to achieve the above objects, the animation generation method according to the present invention, for generating by coordinating animation of a predetermined object of display with animation of a separate object of display, executes a number of steps. A first step provides the storing of animation of a plurality of motions of the predetermined object of display. The plurality of motions correspond to a plurality of relations with animation of a separate object of display. The next step provides for synthesizing animation of a motion corresponding to the current relation, using animation of the plurality of motions, based on the current relation with animation of the separate object of display.
With this configuration, predetermined animations that are to be displayed can be prepared beforehand by representative relationships between certain objects of display and other objects of display. These can be used to easily generate new animation matching the current relationship.
The sets of animation to be synthesized may be partial animation corresponding to a part of the object of display.
The relationship between a predetermined object of display and a separate object of display may be, for example, the position of the separate object of display in a predetermined space area, moving synchronously with the predetermined object of display. For example, a plurality of sets of animation for an end effector of the predetermined object of display moving to a separate object of display situated at a representative point in the predetermined space area may be prepared beforehand, so as to synthesize animation of a separate object of display being situated at an arbitrary point in the predetermined space area from these multiple sets of animation.
Note that the present invention may be realized as a method or an apparatus. Also, computer-readable recording media storing programs used for realizing this method on a computer are also encompassed in the scope of the invention.
Additional features and advantages of the present invention are described in, and will be apparent from, the following Detailed Description of the Invention and the figures.